FAQ / Masalah Umum

Misteri Indeks Ke-0

Sering kelewat saat tracing? Kenapa elemen pertama disebut elemen ke-0?

👩‍🏫 Secara Formal:

Dalam C++, array menggunakan sistem *0-based indexing*. Artinya, indeks adalah "jarak (offset)" dari titik awal memori array. Elemen pertama memiliki jarak 0 dari titik awal, sehingga diakses dengan A[0]. Jika array memiliki 5 elemen, maka indeks validnya adalah 0, 1, 2, 3, 4. Mengakses A[5] akan menyebabkan error *Out of Bounds*.

Analogi Jaman Now: Lantai Hotel

"Pernah naik lift di hotel atau mall besar? Biasanya lantai dasar tempat kamu masuk tidak disebut lantai 1, melainkan Lantai G (Ground) atau Lantai 0. Lantai 1 sebenarnya adalah 'satu tingkat di atas' lantai dasar. Array bekerja persis seperti ini! Elemen pertama itu 'Lantai Dasar' alias [0]."

FAQ / Masalah Umum

Nested Loop (Perulangan Bersarang)

Membaca loop di dalam loop tanpa merasa pusing.

👩‍🏫 Secara Formal:

Nested loop terjadi ketika sebuah struktur perulangan (seperti for) diletakkan di dalam perulangan lain. Aturan emasnya: Perulangan bagian dalam (Inner Loop) akan menyelesaikan seluruh iterasinya secara penuh untuk setiap satu iterasi dari perulangan luar (Outer Loop).

Analogi Jaman Now: Jam Analog

"Bayangkan jarum jam analog. Jarum Jam adalah Outer Loop, sedangkan Jarum Menit adalah Inner Loop. Jarum jam baru bergeser 1 angka (misal dari jam 1 ke jam 2), HANYA JIKA jarum menit sudah menyelesaikan putaran penuh (dari menit ke-0 sampai 59). Kalau ada Jarum Detik, itu berarti ada loop ketiga di dalam! Detik harus muter 60 kali supaya menit nambah 1."

Praktek

Lab Simulasi: Visualisasi Tracing

Lihat bagaimana i (baris) dan j (kolom) berinteraksi step-by-step.

Kode Program

for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { print("*"); } println(); // pindah baris }

Output Layar (Console)

Status Variabel:
Outer Loop (Baris)
i = -
Inner Loop (Kolom)
j = -

Question Card

Jika sebuah array memiliki 5 elemen dan kamu menulis arr[5], apa yang akan terjadi? Mengapa?

Klinik Array & Loop Selesai!